"use strict";
// 在下面这种情况下 函数要计算所有参数的和 但是在传参的时候数字有可能被开发这写成字符串的类型
// 这时候ts无法进行计算 并且参数直接会报类型错误 这时候我们可以使用联合类型 所谓联合类型其实就是给一个数据定义多个数据类型的方法
// function fn(arg1:number, arg2:number):any {
//     return arg1 + arg2
// }
// console.log(fn(1, 2))
// let str:string | null | undefined;
// str = null
// function fn<T>(str:string):string{
//     return str;
// }
// console.log(fn<string>('1243'));
// function fn<T>(num1:T):T {
//     return num1
// }
// console.log(fn<number>(1));
// console.log(fn<string>('2'));
// 泛型不能用于数据计算
function fn(arg, arg2) {
    // let result:T[] = []
    // result.push(arg)
    // result.push(arg2)
    // return result
    var result = [];
    result[arg] = arg2;
    return result;
}
fn(1, '2');
